<%--
  Created by IntelliJ IDEA.
  User: yangbushudemao
  Date: 2021/5/11
  Time: 16:21
  To change this template use File | Settings | File Templates.
--%>
<!DOCTYPE html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="/common/common.jsp" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<table id="table">

</table>
</body>
</html>
<script>
    $('#table').bootstrapTable({
        url: '<%=path%>/roleController/getInfo',
        method: 'post',//请求方式
        contentType:"application/x-www-form-urlencoded",
        striped: true,//是否显示行间隔色
        cache: false, //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        pagination: true,//是否显示分页（*）
        // sortOrder: "desc",//排序方式
        //sortName:"mid",//排序字段
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页（*）
        pageNumber: 1,//初始化加载第一页，默认第一页,并记录
        pageSize: 3,//每页的记录行数（*）
        pageList: [1, 3, 5],//可供选择的每页的行数（*）
        //search: true,//是否显示表格搜索
        // strictSearch: true,//严格搜索
        showColumns: true,//是否显示所有的列（选择显示的列）
        showRefresh: true,//是否显示刷新按钮
        minimumCountColumns: 2,             //最少允许的列数
        clickToSelect: true,                //是否启用点击选中行
        uniqueId: "rid",                     //每一行的唯一标识，一般为主键列
        showToggle: true,                   //是否显示详细视图和列表视图的切换按钮
        // cardView: true,                    //是否显示详细视图
        detailView: true,                  //是否显示父子表
        queryParams : function (params) {
                    //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                    var temp = {
                        pageSize: params.limit,                         //每页条数
                        pageNum: (params.offset / params.limit) + 1,//当前页数
                        //模糊查询
                        cname : $('#rname').val(),
                        tid : $('[name=rid]').val()
                    };
                    return temp;
                },
        columns: [{
            checkbox: true,
            visible: true                  //是否显示复选框
        },{
            field: 'rid',
            title: 'id'
        }, {
            field: 'rname',
            title: '职位'
        }, {
            title : '操作',
            formatter : function(value, row, index) {
                var rid = row.rid;
                var result = "";
                result += "<a href='javascript:toUpdate(" + rid + ")' class='btn btn-xs blue' title='编辑'><span class='glyphicon glyphicon-pencil'></span></a>";
                result += "<a href='javascript:deleteInfoById(" + rid + ")' class='btn btn-xs red' title='删除'><span class='glyphicon glyphicon-remove'></span></a>";
                result += "<a href='javascript:toAdd()' class='btn btn-xs red' title='增加'><span class='glyphicon glyphicon-plus'></span></a>";
                return result;
            }
        }]
    });
    function getDate() {
        $("#table").bootstrapTable("refresh");
    }
    function toAdd() {
        BootstrapDialog.show({
                    title: '增加',//标题
                    //jquery中load方法 : 可以将load中地址所返回的内容追加到 前面所定义的jq元素中
                    message: $('<div></div>').load('<%=path%>/roleController/toAdd'),
                    type: BootstrapDialog.TYPE_PRIMARY,//设置提示框类型
                    size: BootstrapDialog.SIZE_SMALL,//设置提示框大小
                    buttons: [{
                        label: '增加',
                        cssClass: "btn-success",
                        action: function (dialog) {
                            /* dialog.setMessage('Message 1'); */
                            //提交数据到后台进行修改操作
                            var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
                            var nodes = treeObj.getCheckedNodes(true);
                            if (nodes.length <= 0){
                                toastr.error("请选择权限");
                            }
                            var mids = [];
                            for (var i = 0; i < nodes.length; i++){
                                mids.push(nodes[i].id);
                            }
                            $.ajax({
                                url:"<%=path%>/roleController/addRoleInfo",
                                data:$("#addRoleForm").serialize() + "&mids=" + mids,
                                dataType:"json",
                                type:"post",
                                success:function(data){
                                    if(data){
                                        toastr.success("增加成功");
                                        dialog.close();
                                        $("#table").bootstrapTable("refresh");

                                    }
                                },
                                error:function(){
                                    toastr.error("系统错误，请联系管理员");
                                }
                            })
                        }
                    }, {
                        label: '关闭',
                        action: function (dialog) {
                            dialog.close();
                        }
                    }]
                });
    }

    function deleteInfoById(rid) {
        alert(rid);
        if (confirm("宝,确定要删我吗")) {
           $.ajax({
                url:"<%=path%>/roleController/deleteInfoById?rid="+rid,
                dataType:"json",
                type:"post",
                success:function(data){
                    if(data){
                        toastr.success("删除成功");
                        dialog.close();
                        $("#table").bootstrapTable("refresh");

                    }
                },
                error:function(){
                    toastr.error("系统错误，请联系管理员");
                }
            })
        }
    }
    
    function toUpdate(id) {
        BootstrapDialog.show({
                    title: '提示',//标题
                    //jquery中load方法 : 可以将load中地址所返回的内容追加到 前面所定义的jq元素中
                    message: $('<div></div>').load('<%=path%>/roleController/toUpdate?id=' + id),
                    type: BootstrapDialog.TYPE_PRIMARY,//设置提示框类型
                    size: BootstrapDialog.SIZE_SMALL,//设置提示框大小
                    buttons: [{
                        label: '修改',
                        cssClass: "btn-success",
                        action: function (dialog) {
                            var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
                            //获取到了 选中的节点ID
                            var nodes = treeObj.getCheckedNodes(true);
                            //遍历选中的所有节点ID
                            if (nodes.length <= 0){
                                toastr.error("请选择权限");
                                return ;
                            }
                            var mids = [];
                            for (let i = 0; i < nodes.length; i++) {
                                mids.push(nodes[i].id);
                            }
                            $.ajax({
                                url:"<%=path%>/roleController/updateRoleById",
                                data : $("#role_update_Form").serialize() + "&mids="+mids,
                                dataType:"json",
                                type:"post",
                                success:function(data){
                                    if(data){
                                        toastr.success("修改成功");
                                        dialog.close();
                                        getData();
                                    }
                                },
                                error:function(){
                                    toastr.error("系统错误，请联系管理员");
                                }
                            })
                        }
                    }, {
                        label: '关闭',
                        action: function (dialog) {
                            dialog.close();
                        }
                    }]
                });
    }
</script>
